{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nmUp8/vTp05Wfn6+///3vLoH7ilq1aql///6SpKKiIv3f//2fFi1apJ9//llVq1bVU089pRdffFG+\nvr43/Brp6ekaMWKEMjIyFBER4WzfsGGDunfvrkWLFunBBx+U9Ov94Lm5uXr77bf18ssva9u2bapW\nrZrGjBmj3//+99qwYYOSk5P1448/KiIiQsnJyXr44YedY06dOlXTpk3TunXr9Oabb2r58uVyOBzq\n0qWLXnvtNZfL5NeuXatp06Zp7969KiwsVPXq1fXYY49p1KhRJf73vF1spAYAAAAAFcC///1vRUVF\n6YEHHrhl3xEjRmjq1Klq0qSJxo8frzZt2ujtt9/W0KFDb3qeyWSSyXT9Pwxcrz0nJ0fPP/+8Hnjg\nASUlJclisWjo0KFasmSJhg4dqk6dOmns2LHKz8/X4MGDlZ+ff814V9pHjx6tJ554QgsXLtS0adOc\n/fbt26fnn39eNptNI0eO1Lhx49S5c2dt3rz5lv8OpYGVbgAAAAC4y50/f14nT57Uf/3Xf92y7+7d\nu7Vo0SLFx8c77+9+7rnnVKVKFb3//vvasGGD2rRpUyp1nT59WtOnT1fXrl0lSQ8//LDi4uI0bNgw\nffbZZ4qNjZUkRUdHq0+fPvriiy+u2S29SZMmmjJlivN1Tk6OPvroI40ePVrSr6vcNptNc+fOVWho\naKnUXRysdAMAAADAXe7cuXOSpICAgFv2/frrr2UymTRo0CCX9hdeeEEOh6NU7/sOCAhwBm5Jqlu3\nrkJCQlSvXj1n4JakZs2aSZKOHj3qcr7JZFLfvn1d2lq1aqWcnBxduHBBkhQcHCxJ+uqrr+RwlPye\n+JIidAMAAADAXS4oKEiSnEH0Zo4dOyaz2ax7773XpT08PFwhISE6duxYqdV1zz33XNMWFBR0TfuV\n+s+ePXtN/9/eOy5JISEhkqTc3FxJUteuXdWyZUuNHDlSTZs2VUJCgj7//PMyC+CEbgAAAAC4ywUG\nBqpatWr68ccfb9n3Shi90b3ZN3Ojc4qKiq7b7uXlVaz26wVls/nmsdZiseiTTz7R/Pnz1a1bN+3Z\ns0dDhgxR7969yyR4E7oBAAAAoALo1KmTjh49qi1btty0X82aNWW323Xo0CGX9qysLJ09e1aRkZE3\nPPfKKvPVK9KluTpeUg899JBeeeUVff3110pMTNT69eu1fv16w78uoRsAAAAAKoCEhAT5+flp5MiR\n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\n9PVrr72WK6+8Mo8++mhKS0szfvz4HH300enevXuLvQ4AAAA6tzYZ3WvXrs2wYcOyzz775Pzzz9/o\nMdXV1fna176WxsbGJEl5eXmz/T/5yU+yfPnynHLKKamvr8/Pf/7zXHrppTn++OMLnx8AAACSNhrd\n1dXVqa6ufstjysvL07t3743ue+mll/LEE0/knHPOyXbbbZckmTRpUs4555x88YtfTGVl5RafGQAA\nAP5dm4zuTTFnzpxMmTIlPXv2zJgxY/KZz3wmvXr1SpLMnTs3PXv2bAruJNl5551TUlKSefPmZdy4\nca01NgAAAJ1Iu4zu6urqjB8/PlVVVVm8eHGuv/76nH322TnzzDNTUlKS2tra9OnTp9ljSktL06tX\nr9TW1rbS1AAAAHQ27TK6P/CBDzT9edttt82QIUNy3HHHZc6cORkzZsybPq6xsTElJSUtMSIAAAC0\nz+j+d1VVVXnXu96VmpqajBkzJpWVlVm+fHmzYxoaGrJq1aoNzoBvit69ezd9YBv8u2WLl7/9QW1M\naZcu6dvXZxuwcXXLX2ntEToNa5GOpj3+m5hYi3Q85eXl6du3b2uP0eFt6gndDhHdr7zySlauXJmt\nttoqSbLDDjtk1apVWbBgQdP7umfPnp3GxsaMHDlys59/xYoVWbdu3RadmY6jsR3e7r5h/fosW7as\ntcegjSpfv761R+g0rEU6mvb4b2JiLdLx9O3b1/+mW0B5eXn69+//tse1yehes2ZNampqmr5evHhx\nnn/++fTq1Su9evXKzTffnPHjx6eysjI1NTW57rrrMnDgwOyyyy5JkkGDBqW6ujq/+MUvMnny5NTX\n1+fKK6/Mnnvu6ZPLAQAAaDFtMrrnz5+f0047renra665Jkmy9957Z/LkyXnhhRcyY8aM1NXVZaut\ntsouu+ySI444ImVl//Nyjj/++FxxxRU544wzUlpamvHjx2fSpEkt/loAAADovNpkdI8ePTq/+c1v\n3nT/ySef/LbP0bNnzxx//PFbciwAAADYLO3zjTcAAADQDohuAAAAKIjoBgAAgIKIbgAAACiI6AYA\nAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohu\nAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI\n6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOimXXr4\n4Ydz9NFHZ9ddd83gwYNzzz33NNt/991358gjj8zYsWMzePDgPPXUUxs8x9KlS3Pcccflve99b0aO\nHJmPfvSj+f3vf99SLwEAAOgERDftUl1dXXbaaadMnTo1JSUlG90/bty4nHzyyRvdnyTHH398FixY\nkF/+8peZPn16DjjggHz1q1/NnDlzih4fAADoJMpaewB4J/bZZ5/ss88+SZLGxsYN9h966KFJkkWL\nFm10f5I8+uijOeecc7LzzjsnSU444YRcdtllmT17dnbaaaeCJgcAADoTZ7rptMaNG5ff/va3qa2t\nTWNjY+644468/vrr2WOPPVp7NAAAoINwpptO6+KLL85//Md/ZMyYMSkrK0tFRUUuv/zyDB06tLVH\nAwAAOgjRTad17rnnZsWKFbnxxhuz1VZbZdq0afnqV7+a2267LaNGjWrt8QAAgA5AdNMpvfDCC7n6\n6qvzpz/9KSNGjEiSvOc978nDDz+cq6++OmeffXYrTwgAAHQE3tNNh7exTy9fvXr1Rrd36dIlDQ0N\nLTEWAGwxW+JWmv/b5z//+Y0+DwCbT3TTLtXV1WXOnDl58sknk/zrzPWcOXPy0ksvJUlqa2szZ86c\nPPPMM2lsbMyzzz6bOXPmZOnSpUmSESNGZOjQofnOd76Txx9/PC+88EIuueSSPPDAAznggANa7XUB\nwDuxJW6l+YZLL700paWlb3scAJvG5eW0S0888UQOO+ywlJSUpKSkJKeffnqS5LDDDssFF1yQe+65\nJyeeeGLT/q997WtJkhNPPDHf+MY3UlZWlmuvvTZnnXVWJk2alFWrVmXYsGG58MILM2HChFZ8ZQCw\n+bbErTSTZM6cObn88svz+9//PtXV1cUMC9DJiG7apT322COLFi160/2HH354Dj/88Ld8jmHDhuXS\nSy/d0qMBQLu0evXqfP3rX8/UqVPTr1+/1h4HoMNweTkAADn11FMzbty4fPjDH27tUQA6FGe6AQA6\nuXvuuSd//vOfc++997b2KAAdjugGAOjk/vznP2fhwoXZcccdm22fPHlyxo8fn5tuuqmVJgNo/0Q3\nAEAnsrFPJT/uuONy5JFHNtu277775vTTT8/EiRNbajSADkl0AwC0c3V1dVmwYEHTJ5O/cSvNysrK\nDBo0KLW1tXnppZdSU1PTdCvNxsbGVFVVpX///unXr99GPzxt4MCBGTx4cEu/HIAORXQDALRz/9db\naaEObUgAACAASURBVG6M+3QDbBmiGwCgndsSt9L8dy+++OL/dSwA4pZhAAAAUBjRDQAAAAUR3QAA\nAFAQ0Q0AAAAF8UFqtBnlq1clq1e19hibrbHHhrdYAQAASEQ3bcnqVVnz7cmtPcXm+/FtrT0BAADQ\nRrm8HAAAAAoiugEAADqphx9+OEcffXR23XXXDB48OPfcc88Gx5x33nl53/vel+233z6f+cxnsmDB\ngo0+1+uvv54Pf/jDGTx4cJ566qmiR283RDcAAEAnVVdXl5122ilTp05NSUnJBvsvuuiiXH311Tnn\nnHNy1113paKiIkceeWRef/31DY4988wz8+53v3ujz9OZeU83AABAJ7XPPvtkn332SZI0NjZusP+K\nK67ICSeckI985CNJkgsvvDDV1dWZNm1aPv7xjzcdN3369DzwwAO57LLLMn369JYZvp1wphsAAIAN\nLFy4MEuWLMlee+3VtO1d73pX3vve9+bRRx9t2rZ06dJ861vfyk9/+tN07969NUZt05zpBgBog9rj\nrTTdRhM6liVLlqSkpCT9+/dvtr1fv35ZunRp09cnnnhijjrqqIwZMyaLFi1q6THbPNENANAWtcdb\nabqNJnQKjY2NTe/bvuKKK/Laa6/la1/7WtM+mnN5OQAAABuoqqpKY2Njs7PaSfLKK6+kX79/Xdky\nc+bMzJo1K9ttt12GDh3adCn6gQcemG984xstPnNb5Ew3AAAAGxgyZEiqqqry4IMPZvTo0UmSlStX\n5rHHHstRRx2VJDnjjDPy7W9/u+kxNTU1OfLII3PJJZekurq6VeZua0Q3AABAJ1VXV5cFCxY0XRb+\nwgsvZM6cOamsrMygQYMyefLkXHjhhRk2bFi23XbbnHfeeRkwYED233//JMnAgQObPV9FRUUaGxsz\nZMiQDBgwoMVfT1skugEAADqpJ554IocddlhKSkpSUlKS008/PUly2GGH5YILLsixxx6b1atX5zvf\n+U6WL1+e8ePH59prr03Xrl3f9Dndp7s50Q0AANBJ7bHHHm/7ieMnnXRSTjrppE16vsGDB+fFF1/c\nEqN1GD5IDQAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAg\nohsAAAAKIroBAACgIKIbAAAAClLW2gMAAACw5dTUvpblaxpbe4zNVlFemp5d2t/cb6dNRvfTTz+d\n3/72t5k/f35qa2vzzW9+M7vttluzY37zm99k+vTpWbVqVUaNGpUpU6ZkwIABTftfe+21XHnllXn0\n0UdTWlqa8ePH5+ijj0737t1b+uUAAAC0mJVr6zP5lmdae4zNdvmho9KzS0lrj7HFtcnLy9euXZth\nw4blS1/60kb333777Zk2bVqmTJmSs846K926dcvUqVNTX1/fdMxPfvKTvPTSSznllFPyne98J08/\n/XQuvfTSlnoJAAAA0Daju7q6OkcccUTe//73b3T/3XffnUMPPTS77bZbhgwZkq9//etZtmxZ/vrX\nvyZJFi1alCeeeCJf/epXs/3222fUqFGZNGlSZs6cmdra2pZ8KQAAAHRibTK638qSJUtSW1ubsWPH\nNm2rqKjIyJEjM3fu3CTJvHnz0rNnz2y33XZNx+y8884pKSnJvHnzWnxmAAAAOqd2F91vnKnu06dP\ns+19+vRp2ldbW7vB/tLS0vTq1cuZbgAAAFpMu4vuN9PY2JiSkrd+0/2mHAMAAABbSpv89PK3UllZ\nmSRZvnx505+TZMWKFRk2bFjTMcuXL2/2uIaGhqxatWqDM+Cbonfv3mls7HgfXd/W1C1/pbVH6DRK\nu3RJ376Vb38gnZK12HKsRd6KtdhyrEU6mmWLl7/9QW1Qe1uLm3pCt91Fd1VVVSorKzN79uwMHTo0\nSVJXV5d58+Zl//33T5LssMMOWbVqVRYsWND0vu7Zs2ensbExI0eO3OzvuWLFiqxbt27LvQg2qnz9\n+tYeodNoWL8+y5Yta+0xaKOsxZZjLfJWrMWWYy3S0TS20wua29taLC8vT//+/d/2uDYZ3WvWrElN\nTU3T14sXL87zzz+fXr16pV+/fjnwwANz6623ZsCAAamqqsqvf/3rbL311hk3blySZNCgQamurs4v\nfvGLTJ48OfX19bnyyiuz5557Njs7DgAAAEVqk9E9f/78nHbaaU1fX3PNNUmSvffeO8cee2wOOeSQ\nrF27NpdddllWrVqV97znPfne976XsrL/eTnHH398rrjiipxxxhkpLS3N+PHjM2nSpBZ/LQAAAHRe\nbTK6R48end/85jdveczhhx+eww8//E339+zZM8cff/yWHg0AAAA2Wfu82B8AAADaAdENAAAABRHd\nAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ\n0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAA\nBRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAA\nAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQENEN\nAAAABRHdAAAAUBDRDQAAUJCampocd9xxGTNmTLbffvtMnDgxs2fPbtp/wQUXZO+9987IkSOz0047\n5TOf+Uwee+yxVpyYLa2stQcAAADoiJYvX55PfOIT2WuvvXL99denb9++mT9/fvr06dN0zPbbb5+p\nU6dm6NChWbNmTS699NJ87nOfy5///Of07du3FadnSxHdAAAABbjooosyaNCg/Nd//VfTtsGDBzc7\n5pBDDmn29Q9+8IPccMMNefrpp7Pnnnu2yJwUy+XlAAAABbj33nuz88475ytf+Up22WWX7L///rn+\n+uvf9Ph169bl2muvTZ8+fTJ69OgWnJQiiW4AAIACLFy4MNdcc0223377XH/99fnCF76Q73//+7nl\nlluaHXffffdlhx12yPDhw3P55ZfnhhtuyFZbbdVKU7OlubwcAACgAA0NDamurs63vvWtJMlOO+2U\nuXPn5pprrsmhhx7adNyee+6Ze++9N8uWLcv111+fr3zlK7nrrru8p7uDcKYbAACgAFVVVRk5cmSz\nbSNGjMhLL73UbFuPHj0ydOjQvPe97815552XLl265IYbbmjJUSmQ6AYAACjAuHHj8txzzzXb9txz\nz23wYWr/rrGxMa+//nqRo9GCRDcAAEABpkyZklmzZuWnP/1pnn/++dx222254YYbMmnSpCTJ6tWr\nc84552TWrFl56aWXMnv27Jx44ompqanJwQcf3MrTs6V4TzcAAEABdtlll1x++eU5++yz8+Mf/zhD\nhgzJ6aef3nSbsNLS0jz33HP58pe/nFdffTWVlZWprq7O7bffvsFl6bRfohsAAKAg++23X/bbb7+N\n7uvWrVsuu+yyFp6IlubycgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKIbgAA\nACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKEhZaw8AAADQVpWvXpWsXtXaY2yWxh79WnsE/hfR\nDQAA8GZWr8qab09u7Sk2z49va+0J+F9cXg4AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR\n3QAAAFAQ0Q0AAAAFEd0AAABQENENAAAABRHdAAAAUBDRDQAAAAUR3QAAAFAQ0Q0AAAAFEd0AAABQ\nENENAAAABSlr7QHeiZtuuik333xzs20DBw7Mj370oyTJunXr8stf/jJ/+ctfsm7duuyyyy6ZPHly\n+vTp0xrjAgAA0Em1y+hOkm233TannHJKGhsbkyRdunRp2nf11Vfn8ccfz0knnZQePXrkiiuuyPnn\nn5/TTz+9tcYFAACgE2q3l5d36dIlvXv3Tp8+fdKnT5/06tUrSVJXV5c//vGPOeqoozJ69Ohst912\nOfbYY/PMM8/k2WefbeWpAQAA6Eza7Znuf/7zn/nKV76Srl27ZuTIkfnc5z6Xfv36Zf78+Vm/fn3G\njBnTdOzAgQPTr1+/zJ07NyNGjGjFqQEAAOhM2mV0jxw5Mscee2wGDhyY2tra3HTTTfnBD36Q888/\nP7W1tSkrK0tFRUWzx/Tp0ye1tbWtNDEAAACdUbuM7urq6qY/DxkyJCNGjMixxx6bv/zlLykvL9/o\nY9547zcAAAC0lHYZ3f+uoqIi7373u1NTU5OxY8emvr4+dXV1zc52r1ixIpWVle/o+Xv37i3aW0Dd\n8ldae4ROo7RLl/Tt+87WAx2ftdhyrEXeirXYcqxF3oq12HLa21osKSnZpOM6RHSvWbMmixcvzlZb\nbZXhw4enS5cuefLJJ/P+978/SfKPf/wjL7/8cnbYYYd39PwrVqzIunXrtuTIbET5+vWtPUKn0bB+\nfZYtW9baY9BGWYstx1rkrViLLcda5K1Yiy2nva3F8vLy9O/f/22Pa5fR/atf/Sq77rpr+vfvn2XL\nluXGG29Mly5dsueee6aioiL77rtvfvnLX6Znz57p0aNHrrrqqowaNcqHqAEAANCi2mV0v/LKK/nJ\nT36SlStXpnfv3tlxxx0zderUvOtd70qSHHXUUSktLc0FF1yQdevWpbq6Ol/60pdaeWoAAAA6m3YZ\n3f/5n//5lvvLy8tzzDHH5JhjjmmhiQAAAGBDpa09AAAAAHRUohsAAAAKIroBAACgIKIbAAAACiK6\nAQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAg\nohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAA\nCiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEA\nAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIb\nAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoi\nugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACg\nIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAA\nAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAKIroB\nAACgIKIbAAAACiK6AQAAoCCiGwAAAApS1toDFGnatGn53e9+l9ra2gwbNiyTJk3KiBEjWnssAAAA\nOokOe6Z75syZ+dWvfpXDDz885557boYOHZqpU6dmxYoVrT0aAAAAnUSHje677rorEydOzN57751B\ngwZlypQp6datW/74xz+29mgAAAB0Eh0yuuvr6zN//vyMHTu2aVtJSUnGjh2buXPntuJkAAAAdCYd\nMrpXrlyZhoaG9OnTp9n2Pn36pLa2tpWmAgAAoLPp0B+ktjElJSWb/Ziysk73Y2oVZd17pHz7Ua09\nxmbr0a08o6p6tfYYm6VH1/KUl2/+WqBzaI9rsT2uw8Ra5K1Ziy3HWuStWIstp72txU3txJLGxsbG\ngmdpcfX19fnCF76Qk046KbvttlvT9osuuih1dXX55je/2YrTAQAA0Fl0yMvLy8rKMnz48MyePbtp\nW2NjY5588smMGtW+fktF23f11Ve39gjQ6VmH0DZYi9A2WIttS4e9bvqggw7KRRddlOHDh2fEiBG5\n6667snbt2kyYMKG1R6ODWbx4cWuPAJ2edQhtg7UIbYO12LZ02Oj+wAc+kJUrV+bGG29MbW1thg0b\nlpNPPjm9e/du7dEAAADoJDpsdCfJ/vvvn/3337+1xwAAAKCT6pDv6QYAAIC2QHTD/9Gee+7Z2iNA\np2cdQttgLULbYC22LR3ylmEAAADQFjjTDQAAAAUR3QAAAFAQ0Q0AAAAFEd2wCY444og88sgjrT0G\ndHrWIrQN1iK0DdZi+9Ch79MNbdFTTz2V0047LVdddVUqKire9vjf/OY3mT59elatWpVRo0ZlypQp\nGTBgQAtMCh3b5qzFv/71r7n33nszf/78vPbaazn33HMzdOjQFpoUOrZNXYvr16/PDTfckMcffzyL\nFy9ORUVFxo4dmyOPPDJbbbVVC04MHdPm/Lt40003ZebMmXn55ZdTVlaW4cOH57Of/WxGjBjRQtO2\nL850QwvbnBsG3H777Zk2bVqmTJmSs846K926dcvUqVNTX19f4ITQOWzOWlyzZk123HHHHHnkkQVO\nBJ3Tpq7FtWvX5oUXXsinP/3pnHvuufnmN7+Zf/7znzn33HMLnhA6h835d3HgwIH50pe+lPPPPz9n\nnHFG+vfvnzPPPDMrV64scML2y5luOozGxsb89re/zR/+8Ie88sorqayszMSJE/PJT34yCxcuzNVX\nX525c+emW7duGT9+fL74xS+me/fuTY+fPn167rrrrtTU1KRXr14ZP358jjnmmA2+z8Z+C/j888/n\n29/+di666KL069cvL7/8cq644or8/e9/T319faqqqvKFL3whgwYNyumnn54kmTRpUpJk7733zrHH\nHrvR13T33Xfn0EMPzW677ZYk+frXv54pU6bkr3/9az7wgQ9s0Z8fbCkdcS1+6EMfSpIsXbp0i/6s\noEgdbS1WVFTk5JNPbrbtmGOOyfe+97288sor2XrrrbfYzw62pI62FpMN7wN+1FFH5Y9//GNeeOGF\njBkzZov83DoS0U2Hcd111+WPf/xjjjrqqOy444559dVX89JLL+X111/PWWedlR122CHnnHNOli9f\nnksuuSRXXnll018k99xzT6655pp8/vOfT3V1derq6vL3v//9Hc9y+eWXZ/369TnjjDPStWvXLFq0\nKN27d0+/fv1y0kkn5fzzz8+FF16YHj16pGvXrht9jiVLlqS2tjZjx45t2lZRUZGRI0dm7ty5ops2\nq6OtRWivOsNaXLVqVUpKStKzZ893PBsUraOvxfr6+tx7772pqKjIsGHD3vFsHZnopkNYs2ZN7r77\n7kyePLnpjFRVVVVGjRqV++67L+vWrcvXv/71dO3aNYMHD84xxxyTH/7wh/n85z+f3r1759Zbb83H\nP/7xfPSjH216zuHDh7/jeV555ZWMHz8+gwcPbprlDb169UqS9O7d+y3fL1NbW5sk6dOnT7Ptffr0\nadoHbU1HXIvQHnWGtbhu3bpcf/312WuvvZqdFYS2pCOvxVmzZuXHP/5x1q5dm759++b73/9+03PQ\nnOimQ1i0aFHq6+s3ejnLP/7xjwwdOrTZb+tGjRqVxsbG/OMf/0iSvPrqq1v0UpgDDjggl112WZ54\n4omMHTs2u+++e4YMGfKmxz/44IO59NJLkyQlJSX57ne/m9LSjX/kQmNj45vug9bWEdfijjvuuMXm\ngZbS0dfi+vXrc8EFF6SkpCSTJ0/eYnPCltaR1+KYMWNy3nnnZeXKlbnvvvtywQUX5Kyzzkrv3r23\n2LwdheimQ3iry18aGxtTUlLyjh67MRt7rvXr1zf7et999011dXVmzZqVJ554Irfffnu++MUvNvst\n5f+22267ZeTIkU1f9+3bN6+++mqSZPny5amsrGzat2LFCpfu0GZ1xLUI7VFHXotvBPcrr7ySU045\nxVlu2rSOvBa7du2abbbZJttss01GjBiRE044IdOnT88nPvGJzZq7M3C6jA7h3e9+d7p27ZrZs2dv\nsG/w4MF5/vnn8/rrrzdt+/vf/57S0tIMHDgw3bt3T//+/Tf62I1547d3b0RxkixYsGCD4/r27ZuJ\nEyfmpJNOysEHH5w//OEPSZKysn/9rquhoaHp2O7duzf9pbXNNtukvLw8VVVVqaysbDZXXV1d5s2b\nl1GjRm3SrNDSOuJahPaoo67FN4J7yZIlOeWUU1zKSpvXUdfixjQ0NLjDzpsQ3XQI5eXlOeSQQ3Ld\nddfl/vvvz+LFizNv3rxMnz49H/zgB1NWVpaf/exnefHFF/Pkk0/mqquuyoc+9KGmv5wOO+yw3Hnn\nnbn77rtTU1OT+fPnZ9q0aRv9XgMGDMjWW2+dm266KTU1NZk1a1buuuuuZsdcffXVeeKJJ7JkyZLM\nnz8/c+bMaXrvTL9+/VJSUpJHH300K1asyJo1a970dR144IG59dZb88gjj2ThwoX52c9+lq233jrj\nxo3bQj852LI66lp87bXX8vzzz+fFF19Mkrz00kt5/vnnfb4CbVZHXIsNDQ05//zzs2DBghx33HGp\nr69PbW1tamtr/R992qyOuBbXrl2bG264IfPmzcvLL7+c+fPn5+c//3leffXV7L777lvwp9dxdDn1\n1FNPbe0hYEsYPXp0Ghoacuedd+aOO+7I448/nsGDB2ennXZKdXV1/va3v+XGG2/M3/72t+y66645\n+uijm36jN2zYsPTu3TvTpk3LbbfdlkceeSSVlZWprq5Oktx8883Zc889M3DgwJSWlmbkyJH505/+\nlNtuuy1Lly7NJz/5yfzlL3/JQQcdlIqKisyaNSvTpk3L7bffnoceeig77LBDJk2alK5du6ZHjx4p\nLS3N7bffnptvvjnLli1704jecccds3bt2tx8882ZNm1a+vbtmxNOOMF7ZWjTOuJanDlzZs4+++z8\n+c9/TpI8/PDDue+++9KjR4+MHj26ZX6wsJk62lp841ZHq1evzr333ps777yz6b+xY8emf//+Lfrz\nhU3V0dZiY2Nj7r333vz+97/PHXfckUceeSS9evXK1772tQwdOrRFf7btRUnj5twFHQAAANhkLi8H\nAACAgohuAAAAKIjoBgAAgIKIbgAAACiI6AYAAICCiG4AAAAoiOgGAACAgohuAAAAKIjoBgAAgIKI\nbgCgyamnnprTTjuttccAgA6jrLUHAACSxYsX54477sjs2bOzbNmylJWVZciQIdljjz0yceLEdO3a\ntUXmKCkpKfT5b7vttgwePDjjxo0r9PsAQFshugGglc2aNSs/+tGPUl5eng996EMZMmRI6uvr8/e/\n/z3XXXddFi1alC9/+cutPeYWcdttt2X33XcX3QB0GqIbAFrRkiVLcuGFF6aqqiqnnHJK+vTp07Tv\nIx/5SBYvXpxZs2a14oRt37p161JWVlb4WXoAeCdENwC0ojvuuCNr1qzJV7/61WbB/YZtttkmBxxw\nQJKkoaEht956a2bMmJFly5alsrIyH/zgB/PpT386ZWWb9k/6/fffn2nTpuXFF19suoT90EMPzc47\n77zR4//0pz/l4osvzkUXXZR+/fo1bX/qqady2mmn5Qc/+EFGjx6dJKmpqcm1116buXPnZtWqVend\nu3dGjRqVr3zlK+nRo0eOOOKIJMmMGTMyY8aMJMnee++dY489NkmybNmy/PrXv85jjz2Wurq6DBgw\nIAcddFD23XffDb7vCSeckIULF2bGjBl59dVXc+WVV6Zbt2659dZb8+CDD+bll19O9+7dM2jQoBx2\n2GEZO3bsJv18AGBLE90A0IpmzZqVbbbZJiNHjnzbYy+++OLcf//92WOPPfKxj30szz77bG677bYs\nWrQo/+///b+3ffxNN92Um2++OaNGjcoRRxyRsrKyzJs3L08++eSbRvemqq+vz5lnnpn169fngAMO\nSGVlZZYtW5ZZs2Zl1apV6dGjR4477rhcfPHFGTlyZCZOnJjkX79USJLly5fn5JNPTmlpaQ444ID0\n7t07jz32WH7xi19kzZo1OfDAA5t9v1tuuSVlZWX52Mc+lvr6+pSVleXGG2/M7bffnokTJ2b77bfP\n6tWr89xzz2XBggWiG4BWI7oBoJWsXr06y5Yt26T3N7/wwgu5//77s99++zW9v/sjH/lIevfund/9\n7nd56qmnms44b0xNTU1uueWWjB8/PieeeGLT9o9+9KP/9xeSZNGiRVm6dGlOOumkvP/972/afuih\nhzb9ea+99sqll16aqqqq7LXXXs0ef8MNN6SxsTHnnntuevbsmSSZOHFiLrzwwtx000358Ic/nPLy\n8qbj161blx/+8IfNzvA/9thjed/73pcpU6ZskdcEAFuCW4YBQCtZvXp1kqR79+5ve+xjjz2WJDn4\n4IObbX/j67d73/df//rXNDY25tOf/vQ7GfVtVVRUJEkef/zxvP7665v9+Icffji77rprGhoasnLl\nyqb/dtlll9TV1WXBggXNjp8wYcIGl9T37NkzixYtSk1NzTt/IQCwhTnTDQCtpEePHkmSNWvWvO2x\nS5cuTWlpaQYMGNBse2VlZSoqKrJ06dIkSV1dXbPoLSsrS69evbJkyZKUlpZm0KBBW/AV/I+qqqoc\nfPDBufPOO/PAAw9kxx13zG677ZYPfvCDTUH+ZlasWJG6urrcd999ue+++zZ6zPLly5t93b9//w2O\nOfzww3PeeeflhBNOyLbbbpvq6uqmT4MHgNYiugGglfTo0SNbbbVVFi5c+LbHNjY2btJzXn311U0f\nUpYko0ePzg9+8INNfvy/e7NPBG9oaNhg2xe+8IVMmDAhf/vb3/Lf//3fueqqq3L77bdn6tSp6du3\n75t+jzee64Mf/GAmTJiw0WP+PZw3dt/y97znPfnpT3/a9P2nT5+eu+66K1OmTGn2YWwA0JJENwC0\nove97335wx/+kHnz5r3lh6lVVVWloaEhNTU1GThwYNP25cuXp66urunM7yGHHJIPfehDTfvfeH/0\ngAED0tDQkEWLFmXo0KGbPN8bj1+1alWzTy9fsmTJRo/fdttts+222+ZTn/pU5s6dm+9///u5BWbu\nFAAAA4tJREFU9957mz65fGMR37t373Tv3j0NDQ0ZM2bMJs/2ZvNOmDAhEyZMyNq1a3PKKafkpptu\nEt0AtBrv6QaAVnTIIYekW7duueSSSza4hDr51weg/f73v8973/veJMldd93VbP/vfve7JP+K9yQZ\nNGhQxowZ0/TfdtttlyQZN25cSkpKcvPNN2/WWe83Lmd/+umnm7Y1NDTkD3/4Q7PjVq9evcHZ7223\n3TYlJSVZt25d07Zu3bqlrq6u2XGlpaUZP358Hn744bz44osbzLBixYpNmvW1115r9nW3bt0yYMCA\n1NfXb9LjAaAIznQDQCvaZpttcvzxx+fCCy/MN77xjab3INfX1+eZZ57JQw89lH322ScHHnhg9t57\n79x3331ZtWpVRo8enXnz5uX+++/P+9///rf85PLkX/H8qU99KrfccktOOeWUjB8/PmVlZXnuuefS\nt2/ffPazn93o4wYPHpwddtgh1113XVauXJlevXpl5syZGwT2k08+mSuvvDK777573v3ud6ehoSEz\nZsxIly5dsvvuuzcdN3z48MyePTt33nln+vbtm6qqqowYMSJHHnlknnrqqXzve9/Lfvvtl8GDB+e1\n117L/PnzM2fOnFxxxRVv+7P8xje+kZ122inDhw9Pr1698uyzz+ahhx5qus85ALSGLqeeeuqprT0E\nAHRmAwcOzAc+8IGsWrUqjz/+eGbOnJmnnnoqXbt2zcc+9rF88pOfTGlpaXbdddd06dIljz32WB56\n6KGsXLky+++/f4455piUlr79xWs77bRT+vfvn7lz52bmzJl55plnUl5engkTJqSqqipJMmPGjJSU\nlGTvvfduetyYMWOycOHCPPjgg5k/f37Gjx+f/fbbL/fff38mTJiQ/v37p7y8PK+++mpmz56dhx9+\nOM8880z69++fL3/5y9lxxx2bnmv48OFZsGBBHnjggcycOTPr16/PuHHj0r179+y1115ZvXp1Hnnk\nkTz00ENZuHBhKioqctBBBzWdsV+6dGlmzJiRPfbYI4MHD272+tavX59nn302jzzySB599NGsXr06\nBx98cA4//PA3fW86ABStpPGdfrIKAAAA8Ja8pxsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAA\nAAoiugEAAKAgohsAAAAKIroBAACgIKIbAAAACiK6AQAAoCCiGwAAAAoiugEAAKAgohsAAAAK8v8B\nT0C4RQ1ZKgAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1109ebc10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "from scipy.sparse import coo_matrix\n",
    "from coclust.coclustering import CoclustSpecMod\n",
    "from coclust.visualization import plot_cluster_sizes\n",
    "\n",
    "n_clust = 4\n",
    "file_name = \"../datasets/cstr.csv\"\n",
    "\n",
    "# Load the csv file and build the matrix. It may take a few seconds\n",
    "a = np.loadtxt(file_name, delimiter=',', skiprows=1)\n",
    "X = (coo_matrix((a[:, 2], (a[:, 0].astype(int), a[:, 1].astype(int))))).tocsr()\n",
    "\n",
    "# Perform co-clustering\n",
    "model = CoclustSpecMod(n_clusters=n_clust, random_state=0)\n",
    "model.fit(X)\n",
    "\n",
    "plot_cluster_sizes(model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
